Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Обробка виняткових ситуацій

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ I НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ Національний університет "Львівська політехніка" Кафедра САПР / “ Обробка виняткових ситуацій” ЗВІТ до лабораторної роботи № 5 з курсу: “Об’єктно – орієнтоване програмування” ЛЬВІВ - 2013 р. МЕТА РОБОТИ Одержати навики роботи із оброблення виняткових ситуацій. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ ВИНЯТКОВІ СИТУАЦІЇ У JAVA Виняткові ситуації (exceptions) можуть виникнути під час виконання (runtime) програми, перервавши її звичайний хід. До них відносится ділення на нуль, відсутність завантажуваного файла, індекс масива який став від’ємним або вийшов за верхню межу, переповнення виділеної пам’яті і багато інших неприємностей. Звичайно, можна передбачити такі ситуації і застрахуватися від них, наприклад таким чином: if (something == wrong){ // Робимо аварійні дії }else{ // Звичайний хід дій } Але при цьому багато часу іде на перевірки, і програма перетворюється у набір таких перевірок. Якщо переглянути промислову програму, написану мовою С або Pascal, то можна побачити, що вона на 2/3 складається із таких перевірок. В об’єктно-орієнтованих мовах програмування прийнято інший підхід. При виникненні виняткової ситуації виконуюча система створює об’єкт певного класу, який відповідає ситуації, що виникла і який містить дані про те, що, де і коли трапилося. Цей об’єкт передається на обробку програмі, в якій виникла виняткова ситуація. Якщо програма не обробляє виняткову ситуацію, тоді об’єкт за замовчуванням повідомляє обробнику виконуючої системи. Обробник поступає дуже просто: виводить на консоль повідомлення про виянткову ситуацію і зупиняє виконання програми. Блоки перехоплення виняткової ситуації Ми можемо перехопити і обробити виняткову ситуацію у програмі. При описуванні обробки застосовується бейсбольна термінологія. Говорять, що виконуюча система або програма "викидає" (throws) об’єкт-виключення. Цей об’єкт "пролітає" через всю програму, з’явившись спочатку у тому методі, де відбулася виняткова ситуація, а програма в одному або декількох місцях намагається (try) її "перехопити" (catch) і обробити. Оброблення можна зробити повністю в одному місці, а можна обробити виняткову ситуацію в одному місці, викинути знову, перехопити у другому місці і обробляти далі. Добре написані об’єктно-орієнтовані програми обовязково повинні обробляти всі виникаючі в них виняткові ситуації. Для того щоб спробувати (try) перехопити (catch) об’єкт-виняток, потрібно весь код програми, у якому може виникнути виняткова ситуація, охопити оператором try {} catch() {}. Кожний блок catch(){} перехоплює виняткову ситуацію тільки одного типу, вказаного в його аргументі. Але можна написати декілька блоків catch(){} для перехоплення декількох типів виняткових ситуацій. Частина заголовка методу throws Та обставина, що метод не обробляє виникаючих виняткових ситуацій, а викидає (throws), потрібно відмічати у заголовку методу службовим словом throws і вказанням класу виключення: private static void f(int n) throws ArithmeticException{ System.out.println(" 10 / n = " + (10 / n)) ; } При перевірці компілятор помічає необроблені в методах і конструкторах виняткові ситуації і вважає за помилку відсутність у заголовку таких методів і конструкторів з поміткою throws. Уважно прослідкуйте за передачею управління і зауважте, що виняткові ситуації класу ArithmeticException уже не викидаються в метод main(). Оператор try {} catch() {} у методі f() можна розглядати як вкладений оператор обробки виняткових ситуацій у методі main(). При необхідності виняткову ситуацію можна викинути оператором throw(). Оператор throw Цей оператор дуже простий: післе слова throw через пробіл записується об’єкт класу-виняткової ситуації. Досить часто він створюється прямо в операторі throw, наприклад: throw new ArithmeticException(); Оператор можна записати у будь-якому місці програми. Він негайо викидає записаний в ньому об’єкт-виняткову ситуацію і далі обробка цієї виняткової ситуації іде як звичайно, та...
Антиботан аватар за замовчуванням

03.05.2014 20:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини